home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / comstats.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  3KB  |  120 lines

  1. /*****************************************************************************/
  2.  
  3. /*
  4.  *    comstats.h  -- Serial Port Stats.
  5.  *
  6.  *    Copyright (C) 1996-1998  Stallion Technologies
  7.  *    Copyright (C) 1994-1996  Greg Ungerer.
  8.  *
  9.  *    This program is free software; you can redistribute it and/or modify
  10.  *    it under the terms of the GNU General Public License as published by
  11.  *    the Free Software Foundation; either version 2 of the License, or
  12.  *    (at your option) any later version.
  13.  *
  14.  *    This program is distributed in the hope that it will be useful,
  15.  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  *    GNU General Public License for more details.
  18.  *
  19.  *    You should have received a copy of the GNU General Public License
  20.  *    along with this program; if not, write to the Free Software
  21.  *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  */
  23.  
  24. /*****************************************************************************/
  25. #ifndef    _COMSTATS_H
  26. #define    _COMSTATS_H
  27. /*****************************************************************************/
  28.  
  29. /*
  30.  *    Serial port stats structure. The structure itself is UART
  31.  *    independent, but some fields may be UART/driver specific (for
  32.  *    example state).
  33.  */
  34.  
  35. typedef struct {
  36.     unsigned long    brd;
  37.     unsigned long    panel;
  38.     unsigned long    port;
  39.     unsigned long    hwid;
  40.     unsigned long    type;
  41.     unsigned long    txtotal;
  42.     unsigned long    rxtotal;
  43.     unsigned long    txbuffered;
  44.     unsigned long    rxbuffered;
  45.     unsigned long    rxoverrun;
  46.     unsigned long    rxparity;
  47.     unsigned long    rxframing;
  48.     unsigned long    rxlost;
  49.     unsigned long    txbreaks;
  50.     unsigned long    rxbreaks;
  51.     unsigned long    txxon;
  52.     unsigned long    txxoff;
  53.     unsigned long    rxxon;
  54.     unsigned long    rxxoff;
  55.     unsigned long    txctson;
  56.     unsigned long    txctsoff;
  57.     unsigned long    rxrtson;
  58.     unsigned long    rxrtsoff;
  59.     unsigned long    modem;
  60.     unsigned long    state;
  61.     unsigned long    flags;
  62.     unsigned long    ttystate;
  63.     unsigned long    cflags;
  64.     unsigned long    iflags;
  65.     unsigned long    oflags;
  66.     unsigned long    lflags;
  67.     unsigned long    signals;
  68. } comstats_t;
  69.  
  70.  
  71. /*
  72.  *    Board stats structure. Returns useful info about the board.
  73.  */
  74.  
  75. #define    COM_MAXPANELS    8
  76.  
  77. typedef struct {
  78.     unsigned long    panel;
  79.     unsigned long    type;
  80.     unsigned long    hwid;
  81.     unsigned long    nrports;
  82. } companel_t;
  83.  
  84. typedef struct {
  85.     unsigned long    brd;
  86.     unsigned long    type;
  87.     unsigned long    hwid;
  88.     unsigned long    state;
  89.     unsigned long    ioaddr;
  90.     unsigned long    ioaddr2;
  91.     unsigned long    memaddr;
  92.     unsigned long    irq;
  93.     unsigned long    nrpanels;
  94.     unsigned long    nrports;
  95.     companel_t    panels[COM_MAXPANELS];
  96. } combrd_t;
  97.  
  98.  
  99. /*
  100.  *    Define the ioctl operations for stats stuff.
  101.  */
  102. #include <linux/ioctl.h>
  103.  
  104. #define    COM_GETPORTSTATS    _IO('c',30)
  105. #define    COM_CLRPORTSTATS    _IO('c',31)
  106. #define    COM_GETBRDSTATS        _IO('c',32)
  107.  
  108.  
  109. /*
  110.  *    Define the set of ioctls that give user level access to the
  111.  *    private port, panel and board structures. The argument required
  112.  *    will be driver dependent!  
  113.  */
  114. #define    COM_READPORT        _IO('c',40)
  115. #define    COM_READBOARD        _IO('c',41)
  116. #define    COM_READPANEL        _IO('c',42)
  117.  
  118. /*****************************************************************************/
  119. #endif
  120.